#ifndef VOLUMETOOL_H
#define VOLUMETOOL_H

#include <QWidget>
#include <QGraphicsDropShadowEffect>
#include <QPainter>

namespace Ui {
class VolumeTool;
}

class VolumeTool : public QWidget
{
    Q_OBJECT

public:
    explicit VolumeTool(QWidget *parent = nullptr);
    ~VolumeTool();

    void paintEvent(QPaintEvent *event); //绘图事件


    void onSilenceBtnClicked();  //静音按钮的点击

    bool eventFilter(QObject* watched, QEvent* event);  //事件过滤器

    void calcVolume(); //计算音量

signals:
    void setMusicMuted(bool); //静音设置，给QQMusic发射信号，让音乐静音
    void setMusicVolume(int volume); //设置音量大小

private:
    Ui::VolumeTool *ui;

    bool isMuted; //是否为静音状态

    int volumeRatio; //标记音量大小
};

#endif // VOLUMETOOL_H



// 静音按钮：频繁点击，播放器应该在静音和非静音之间进行切换
// 当鼠标点击之后，释放或者拖拽的时候，outLine和sliderBtn会随着鼠标点击位置的y坐标而自动更新
// 并且标记音量百分比的QLabel也要随着变化


//将来需要在VolumeTool类中拦截：鼠标按下事件，鼠标抬起事件，鼠标滚动事件
//记录按下的位置，根据鼠标新的位置，需要修改音量大小
//注意: VolumeTool类只负责音量相关的显示或者鼠标事件处理，没有具体音量调节的能力，因为没有player,playList这个类
//所以当音量大小需要调节时，统一给QQMusic发消息来处理

//volumeBox内部点击或者鼠标拖拽，都需要进行音量调节
//计算音量比率，根据音量大小通知QQMusic







